import { withInstall } from "$/utils";

export * from "./src/types/form";
export * from "./src/types/formItem";

export { useComponentRegister } from "./src/hooks/useComponentRegister";
export { useForm } from "./src/hooks/useForm";

import basicForm from "./src/BasicForm.vue";

import select from "./src/components/VbenSelect.vue";
import treeSelect from "./src/components/VbenTreeSelect.vue";
import radioGroup from "./src/components/VbenRadioGroup.vue";
import radioButtonGroup from "./src/components/VbenRadioButtonGroup.vue";
import checkboxGroup from "./src/components/VbenCheckboxGroup.vue";
import formGroup from "./src/components/FormGroup.vue";

export const BasicForm = withInstall(basicForm);

export const Select = withInstall(select);
export const TreeSelect = withInstall(treeSelect);
export const RadioGroup = withInstall(radioGroup);
export const RadioButtonGroup = withInstall(radioButtonGroup);
export const CheckboxGroup = withInstall(checkboxGroup);
export const FormGroup = withInstall(formGroup);
